package A.q.day02;

public class DataTypeDemo{//data数据，type类型，demo例子
    public static void main(String[] args) {

        /*
        byte b1=5;
        byte b2=6;
        byte b3=(byte) (b1+b2);

        System.out.println(2+2);     //4
        System.out.println(2+'2');   //52，2加上'2'的码50
        System.out.println('2'+'2'); //100,'2'的码50，加上'2'的码50
        System.out.println('2');     //2没运算所以直接出

        int a='我';//看字符对应的码
        System.out.println(a);//'我'的码
        char b=65;//看码对应的字符
        System.out.println(b);//A
        */
        /*
        //类型间的转换：
       int a=5;
       int b=a;//自动/隐式类型转换
       int c=(int)b;//强制类型转换

       long d=5;//自动类型转换
       double e=5;//自动类型转换
        System.out.println(e);

        long f=10000000000L;
        int g=(int)f;
        System.out.println(g);//1410065408,强转有可能发生一处
        double h=25.678;
        int i=(int)h;
        System.out.println(i);//25,强转有可能丢失精度

         */
        /*
        //5)char字符型，2个字节
        char c1='女';//字符女
        char c2='f';//字符f
        char c3='6';//字符6
        char c4=' ';//空格符
        //char c5=女；//编译错误，字符直接量必须放在单引号中
        //char c6='';//编译错误，必须有字符
        //char c7='10';//编译错误，只能装一个字符
        char c8=65;//0到65535之间
        System.out.println(c8);//'A'println()时会依据c8的类型来做输出
                               //若c8位char类型，则以字符形式展示
                               //若c8位int类型，则以数字形式展示
        char c9='\\';
        System.out.println(c9);//\
        */
        /*
        //4)boolean:布尔型，1个字节
        boolean a=true;//true为布尔型直接量
        boolean b =false;//false为布尔型直接量
        //boolean c=25.6;//编译错误，布尔型只能存储true或false
        */
        /*
        //3)double:浮点型，8个字节，很大很大很大
        double a=25.678;//25.678位小数直接量，默认为double类型
        float b=25.678F;//25.678F为float型直接量

        double c=3.0,d=2.9;
        System.out.println(c-d);//0.10000000000000009，发生涉入误差了
        */
        /*
        //2)Long:长整型，8个字节，-900万万亿多到900万万亿多

        long a=25L;//25L为长整型值变量
        //Long b=100000000;//编译错误，100亿默认为int类型，但超出int范围
        long c=10000000000L;//100亿L为长整型直接量
        long d=365L*24*60*60*1000;//去年一年所经历的毫秒数
        System.out.println(d);//31536000000

        long e=10000000000*2*10L;
        System.out.println(e);//200亿
        long f=1000000000*3*10L;
        System.out.println(f);//不是300亿
        long g=1000000000L*3*10;
        System.out.println(g);//300亿
       */
        /*
        //1）int:整形，4个字节，-21个多亿到21个多亿
        int a=250;//250为整数直接量，默认为int类型
        //int b=10000000000;//编译错误，100亿默认为int类型，但超出范围
        //int c=25.678;//编译错误，整形变量中只能装整数

        System.out.println(5/2);
        System.out.println(2/5);
        System.out.println(5/2.0);

        int d=2147483647;//int的最大值
        d=d+1;
        System.out.println(d);//-2147483648,发生溢出了
         */


    }
}
